home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_pcdp / ada / tasksl.ada < prev    next >
Text File  |  1996-01-30  |  579b  |  34 lines

  1. separate(Tuple_Package) 
  2. task body Space_Lock is
  3. begin
  4.   loop
  5.     select
  6.       accept Lock;
  7.       accept Unlock;
  8.     or 
  9.       terminate;
  10.     end select;
  11.   end loop;
  12. end Space_Lock;
  13.  
  14. separate(Tuple_Package)
  15. task body Suspend is
  16.   Suspended: Integer := 0;
  17. begin
  18.   loop
  19.     select
  20.       accept Release;
  21.       for I in 1..Suspended loop
  22.         accept Request;
  23.       end loop;
  24.       Suspended := 0;
  25.     or
  26.       accept Notify;
  27.       Suspended := Suspended + 1;
  28.     or
  29.       terminate;
  30.     end select;
  31.     Space_Lock.Unlock;
  32.   end loop;
  33. end Suspend;
  34.